WORST_CASE(?,O(n^1)) Solution: --------- "0" :: [] -(0)-> "A"(0) "0" :: [] -(0)-> "A"(9) "0" :: [] -(0)-> "A"(13) "a__eq" :: ["A"(0) x "A"(9)] -(4)-> "A"(0) "a__inf" :: ["A"(0)] -(8)-> "A"(0) "a__length" :: ["A"(0)] -(4)-> "A"(0) "a__take" :: ["A"(0) x "A"(0)] -(3)-> "A"(0) "cons" :: ["A"(0) x "A"(0)] -(0)-> "A"(0) "cons" :: ["A"(0) x "A"(0)] -(0)-> "A"(13) "cons" :: ["A"(0) x "A"(0)] -(0)-> "A"(8) "cons" :: ["A"(0) x "A"(0)] -(0)-> "A"(14) "cons" :: ["A"(0) x "A"(0)] -(0)-> "A"(12) "eq" :: ["A"(13) x "A"(13)] -(13)-> "A"(13) "eq" :: ["A"(0) x "A"(0)] -(0)-> "A"(0) "false" :: [] -(0)-> "A"(13) "false" :: [] -(0)-> "A"(12) "false" :: [] -(0)-> "A"(8) "inf" :: ["A"(13)] -(13)-> "A"(13) "inf" :: ["A"(0)] -(0)-> "A"(0) "length" :: ["A"(13)] -(13)-> "A"(13) "length" :: ["A"(0)] -(0)-> "A"(0) "mark" :: ["A"(13)] -(8)-> "A"(0) "nil" :: [] -(0)-> "A"(0) "nil" :: [] -(0)-> "A"(13) "nil" :: [] -(0)-> "A"(12) "nil" :: [] -(0)-> "A"(8) "s" :: ["A"(0)] -(0)-> "A"(0) "s" :: ["A"(9)] -(9)-> "A"(9) "s" :: ["A"(13)] -(13)-> "A"(13) "take" :: ["A"(13) x "A"(13)] -(13)-> "A"(13) "take" :: ["A"(0) x "A"(0)] -(0)-> "A"(0) "true" :: [] -(0)-> "A"(13) "true" :: [] -(0)-> "A"(0) "true" :: [] -(0)-> "A"(4) Cost Free Signatures: --------------------- "0" :: [] -(0)-> "A"_cf(0) "a__eq" :: ["A"_cf(0) x "A"_cf(0)] -(0)-> "A"_cf(0) "a__inf" :: ["A"_cf(0)] -(0)-> "A"_cf(0) "a__length" :: ["A"_cf(0)] -(0)-> "A"_cf(0) "a__take" :: ["A"_cf(0) x "A"_cf(0)] -(0)-> "A"_cf(0) "cons" :: ["A"_cf(0) x "A"_cf(0)] -(0)-> "A"_cf(0) "eq" :: ["A"_cf(0) x "A"_cf(0)] -(0)-> "A"_cf(0) "false" :: [] -(0)-> "A"_cf(0) "inf" :: ["A"_cf(0)] -(0)-> "A"_cf(0) "length" :: ["A"_cf(0)] -(0)-> "A"_cf(0) "mark" :: ["A"_cf(0)] -(0)-> "A"_cf(0) "nil" :: [] -(0)-> "A"_cf(0) "s" :: ["A"_cf(0)] -(0)-> "A"_cf(0) "take" :: ["A"_cf(0) x "A"_cf(0)] -(0)-> "A"_cf(0) "true" :: [] -(0)-> "A"_cf(0) Base Constructors: ------------------ "\"0\"_A" :: [] -(0)-> "A"(1) "\"cons\"_A" :: ["A"(0) x "A"(0)] -(0)-> "A"(1) "\"eq\"_A" :: ["A"(1) x "A"(1)] -(1)-> "A"(1) "\"false\"_A" :: [] -(0)-> "A"(1) "\"inf\"_A" :: ["A"(1)] -(1)-> "A"(1) "\"length\"_A" :: ["A"(1)] -(1)-> "A"(1) "\"nil\"_A" :: [] -(0)-> "A"(1) "\"s\"_A" :: ["A"(1)] -(1)-> "A"(1) "\"take\"_A" :: ["A"(1) x "A"(1)] -(1)-> "A"(1) "\"true\"_A" :: [] -(0)-> "A"(1)